1. Technical Field of the Invention
This invention pertains to a method and apparatus for servicing interrupts on a daisy-chained bus architecture, such as the VME bus. More particularly, it relates to a method and apparatus for assuring balanced servicing of interrupts from devices on the same interrupt level.
2. Background Art
In a daisy-chained bus, such as the VME bus, no architected method is provided for insuring that interrupts from two different devices which share the same interrupt level will be serviced in a balanced manner. A device that generates interrupts very frequently will be serviced much more often than another device that is plugged into a higher numbered slot on the bus. Bus protocol is such that it is entirely possible that the other device's interrupt will only be serviced after the device in the lower numbered slot has quiesced. Delaying interrupt service cannot be tolerated in many time critical applications.
The daisy-chained interrupt acknowledge architecture of the VME bus assigns interrupt priority primarily by the level of the interrupt and secondarily by the slot location of the interrupting device. When two devices that share the same interrupt level require interrupt service the device in the lower numbered slot will have its interrupt handled first. The other device's interrupt will be left pending. If the lower numbered device's interrupt again becomes active before the higher numbered device's interrupt was serviced the lower numbered device will again have its interrupt serviced by the interrupt handler. The bus architecture has no protocol to insure that higher numbered devices will not be starved for interrupt service. Thus the occurrence of the problem is dependant upon the interrupt service latency in the interrupt handler and the frequency of interrupts from a lower numbered device.
It is, therefore, an object of the invention to assure balanced servicing of interrupts from devices sharing the same interrupt level in a daisy-chain architected bus.